package cn.zebra.dev.product.module.stages.service.impl;

import cn.zebra.dev.ibatis.plus.service.impl.ServiceImpl;
import cn.zebra.dev.product.module.stages.dao.ProductStagesDao;
import cn.zebra.dev.product.module.stages.entity.ProductStagesEntity;
import cn.zebra.dev.product.module.stages.service.ProductStagesService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;

import java.util.Collection;
import java.util.List;

/**
 * @author runnable@sina.cn
 */
@Service
public class ProductStagesServiceImpl extends ServiceImpl<ProductStagesDao, ProductStagesEntity> implements ProductStagesService {
    /**
     * 根据商品id集合查找符合该商品id集合的分期数据对象集合
     *
     * @param productIds 商品id集合
     * @return 分期数据对象集合
     */
    @Override
    public List<ProductStagesEntity> findByProductIds(Collection<Long> productIds) {
        QueryWrapper<ProductStagesEntity> wrapper = new QueryWrapper<>();
        wrapper.in("product_id", productIds);
        return this.list(wrapper);
    }

    /**
     * 根据商品id查找符合该商品id的商品分期对象
     *
     * @param productId 商品id
     * @return 商品分期对象
     */
    @Override
    public ProductStagesEntity findByProductId(Long productId) {
        QueryWrapper<ProductStagesEntity> wrapper = new QueryWrapper<>();
        wrapper.apply("product_id", productId);
        return this.getOne(wrapper);
    }
}
